package com.medical.literature.search.service;

import com.medical.literature.common.vo.PageResult;
import com.medical.literature.search.dto.SearchRequest;
import com.medical.literature.search.dto.SearchResultItem;

import java.util.List;

/**
 * 搜索服务接口
 */
public interface SearchService {
    
    /**
     * 文献搜索
     */
    PageResult<SearchResultItem> searchLiterature(SearchRequest request, Long userId);
    
    /**
     * 保存搜索历史
     */
    void saveSearchHistory(Long userId, String keyword);
    
    /**
     * 获取最近搜索历史
     */
    List<String> getRecentSearchHistory(Long userId, int limit);
    
    /**
     * 清除搜索历史
     */
    void clearSearchHistory(Long userId);
    
    /**
     * 获取热门搜索关键词
     */
    List<String> getHotKeywords(int limit);
}